import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'

// https://vitejs.dev/config/
export default defineConfig({
  base: '/app/',// 部署到 /app/ 目录下
  css: {
    preprocessorOptions: {
      scss: {
        // 1. 修正 SCSS 导入路径（适配 npm 安装的 uview-pro）
        additionalData: `@import "uview-pro/index.scss";`,
        silenceDeprecations: ['import'] // 忽略 import 警告
      }
    }
  },
  plugins: [
    uni(),
    AutoImport({
      imports: ['vue', 'pinia'],
      dirs: ['src/stores'],
      dts: 'src/auto-import.d.ts'
    }),
    Components({
      dirs: ['node_modules/uview-pro/components/u-*'],
      deep: true,
      dts: 'src/components.d.ts',
      // 新增：配置组件命名转换（uView 组件名是 kebab-case 格式）
      resolvers: [
        (name) => {
          // 匹配 u-xxx 格式的组件（如 u-button -> u-button.vue）
          if (name.startsWith('U')) {
            return {
              importName: name,
              path: `uview-pro/components/u-${name.toLowerCase().slice(1)}/u-${name.toLowerCase().slice(1)}.vue`
            };
          }
        }
      ]
    }),
  ],
  build: {
    outDir: 'dist/build/h5'// 输出到 dist/build/h5 目录
  },
  server: {
    proxy: {
      '/api': {
        target: 'http://192.168.1.65:8080',
        // target: 'http://223.4.248.210:8122', // 视频流服务器的域名/IP
        changeOrigin: true, // 开启跨域代理
        rewrite: (path) => path // 加上 /api 前缀
      },
    },
  }
});
